package ClasesDAO;


import java.util.ArrayList;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;

import tp.disenio.client.CompetenciaDTO;
import tp.disenio.client.ResultadoDTO;
import tp.disenio.controllers.*;
import tp.disenio.factory.JpaUtil;
import tp.disenio.shared.Competencia;
import tp.disenio.shared.Estadodecompetencia;
import tp.disenio.shared.Resultado;


public class prueba {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
//		
//		CompetenciaDTO competencia = new CompetenciaDTO();
//		competencia.setUsuario("1");
//		competencia.setNombre("TestSets");
//		competencia.setDeporte("Futbol");
//		competencia.setModalidad("Liga");
//		competencia.setEstadodecompetencia("Planificada");
//		
//			
////		ControlCompetencia.generarFixture(competenciaDTO);
//		ArrayList<ArrayList<String>> fixture = ControlCompetencia.generarCombinacionesFixture(6);
//		
//		System.out.println(fixture.size());
//		
//		for(int i=0;i<fixture.size();i++){
//			
//			for(int j=0;j<fixture.get(i).size();j++){
//				System.out.println(fixture.get(i).get(j));
//			}
//			System.out.println("-----------------");
////		}
//		EntityManager em = JpaUtil.getEntityManagerFactory().createEntityManager();
		
//		int id_usuario = 2;
//		Competencia competencia = CompetenciaDAO.getCompetenciaPorNombre(id_usuario, "TEST");
//		
//		ArrayList<Integer> listadoFechas = new ArrayList<Integer>();
//		
//		for(int i=0;i<competencia.getFechas().size();i++){
//			listadoFechas.add(competencia.getFechas().get(i).getIdFecha());
//		}
//			
//		CompetenciaDAO.vaciarFechas(competencia.getIdCompetencia(),listadoFechas);
//		
//	
//		em.getTransaction().begin();
//		
//		Query query = em.createQuery("SELECT C FROM Competencia C WHERE C.idCompetencia = 34");
//		Competencia competencia = (Competencia)query.getSingleResult();
//		
//		System.out.println(competencia.getEstado().getIdEstadoCompetencia());
//		
//		query = em.createQuery("SELECT E FROM Estadodecompetencia E WHERE E.nombre = "+"\""+"Planificada"+"\"");
//		Estadodecompetencia estado = (Estadodecompetencia)query.getSingleResult();
//		
//		competencia.setEstado(estado);
//		System.out.println(competencia.getEstado().getIdEstadoCompetencia());
//						
//		em.getTransaction().commit();
////		
//		
//		String secuencia = "13 14";
//		
//		for(int i=1;i<3;i++){
//			System.out.println("Numero"+i+":"+ControlCompetencia.getNumero(secuencia,i));	
//		}
////	
		
//		
//		ControlCompetencia.generarFixture(competencia);

//		
//		java.util.Date today = new java.util.Date();
//		java.sql.Date dia = new java.sql.Date(604800000 + today.getTime()); 
//		
//		System.out.println((today.getHours()+1)+":"+today.getMinutes());
//		System.out.println(dia);
		
//		ResultadoDTO resultadoDTO = new ResultadoDTO();
//		resultadoDTO.setNombreLocal();
//		resultadoDTO.setNombreVisitante();
//		
//		Partido partido = DAO_General.getPartidoPorParticipantes(id_competencia, resultadoDTO.getNombreLocal(), resultadoDTO.getNombreVisitante());
//		Resutlado resultado = partido.getResultado();
//		Resultadofinal resultadoFinal = resultado.getResultadofinal();
//						
//		resultadoFinal.setCondicion(resultadoDTO.getResultadoFinal());
		
		
//		EntityManagerFactory factory = Persistence.createEntityManagerFactory("auslober",System.getProperties());
//		EntityManager em = factory.createEntityManager();
//		
//		Resultado r = CompetenciaDAO.getResultado(4412);
//		
//		System.out.println(r.getIdResultado());
//		r.getPuntuacion().setValorLocal(61);
//		
//		em.getTransaction().begin();
//		
//			em.merge(r.getPuntuacion());
////			em.persist(r);
////			em.refresh(r);
////			em.flush();
//		
//		em.getTransaction().commit();
		
		
		
//		Resultado r = new Resultado();
//		r.setAuxiliar("Nuevooo");
//
//	    em.getTransaction().begin();
//	    	em.persist(r);
//	    	em.flush();
//        em.getTransaction().commit();
//
//        
//        
//        Resultado rObtenido = em.find(r.getClass(), r.getIdResultado());
//        
//        r.setAuxiliar("Transmitiendo");
//              
//        em.getTransaction().begin();
//	        em.persist(r);
//	        em.flush();
//        em.getTransaction().commit();
		
       
        
//        Resultado rBorrar = em.find(r.getClass(), r.getIdResultado());
//        em.getTransaction().begin();
//	        rBorrar = em.merge(rBorrar); //Es necesario antes de borrar
//	        em.remove(rBorrar); //tambien podriamos hacer primero un get
//	        em.flush();//El merge, mete la entidad dentro del contexto de persistencia si no esta
//        em.getTransaction().commit();
////		
		
//		CompetenciaDTO competencia = new CompetenciaDTO();
//		competencia.setDeporte("Futbol");
//		competencia.setEstadodecompetencia("Planificada");
//		competencia.setModalidad("Liga");
//		competencia.setNombre("TestSets");
//		competencia.setUsuario("1");
//		
//		ResultadoDTO resultado = new ResultadoDTO();
//		resultado.setResultadoLocal("344");
//		resultado.setResultadoVisitante("443");
//		resultado.setNombreLocal("Participante10");
//		resultado.setNombreVisitante("Participante11");
//		
//		ControlCompetencia.cargarResultadoPuntuacion(competencia,resultado);
		
		
		CompetenciaDAO.setEstado(35, "En Ejecucion");
	}
}
